C/Visual C - sobrecargar el operador >>

 
Vista:

sobrecargar el operador >>

Publicado por andreafuhr (10 intervenciones) el 03/10/2006 12:55:04
Hola gente linda!. A ver quien sabe esto:

- Tengo una clase llamada punto la que tiene 2 atributos: un valor x y un valor y que vienen a ser las coordenadas del punto.
- Mediante la sobrecarga del operador >> quiero hacer que se carguen los valores x e y pero no me lo permite.
- Aqui les dejo el codigo:

istream& operator>> (istream &in, punto &p){
in>>p.x;
in>>p.y;
return in;
}

Mil gracias :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sobrecargar el operador >>

Publicado por Eduardo Negrete (76 intervenciones) el 03/10/2006 16:26:46
Que Tal!!!

Pues viendo el ejemplo que pusiste no tenia porque haberte marcado error. Quiza te haya faltado poner la libreria <iostream.h>.

De todos modos te dejo un ejemplo 100% probado para que tengas una referencia.

Espero Te Sirva!!

/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Archivo .h
#ifndef punto_H
#define punto_H

#include <iostream.h>

class punto
{

friend ostream & operator << ( ostream &, const punto & );
friend istream & operator >> ( istream &, punto & );

public:

punto( void );
~punto();

protected:

int x;
int y;

};

#endif

/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Archivo .cpp

#include "punto.h"

/**********************************************/
/***** Constructor Predeterminado *****/
/**********************************************/
punto::punto( void )
{
x = 0;
y = 0;
}

/******************************/
/***** Destructor *****/
/******************************/
punto::~punto()
{

}

/*************************************************************/
/***** Imprime En Pantalla Los Valores Del punto *****/
/*************************************************************/
ostream & operator << ( ostream &output, const punto &print )
{

output << "( x, y ) = ( " << print.x << ", " << print.y << " )" << endl;

return output;
}

/**********************************************************/
/***** Pide En Pantalla Los Valores Del punto *****/
/**********************************************************/
istream & operator >> ( istream &input, punto &Point )
{

cout << " Introduce El Valor De X: ";
input >> Point.x;
cout << " Introduce El Valor De Y: ";
input >> Point.y;


return input;
}

/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Main
#include "Punto.h"
#include <stdio.h>
#include <conio.h>

void main()
{
punto Nuevo;

cout << Nuevo;
cin >> Nuevo;
cout << Nuevo;

getche();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar